``bnlearn`` contains several examples within the library that can be used to practice with the functionalities of :func:`bnlearn.structure_learning`, :func:`bnlearn.parameter_learning` and :func:`bnlearn.inference`. DataFrames ^^^^^^^^^^ The **sprinkler** dataset is one of the few internal datasets to import a pandas dataframe. This dataset is readily one-hot coded and without missing values. Therefore it does not require any further pre-processing steps. Note that .. code-block:: python import bnlearn as bn # Import dataset df = bn.import_example('sprinkler') print(df) # Cloudy Sprinkler Rain Wet_Grass # 0 0 0 0 0 # 1 1 0 1 1 # 2 0 1 0 1 # .. ... ... ... ... # 998 0 0 0 0 # 999 0 1 1 1 # Structure learning model = bn.structure_learning.fit(df) # Plot G = bn.plot(model) Import DAG/BIF ^^^^^^^^^^^^^^^ Each Bayesian DAG model that is loaded with :func:`bnlearn.bnlearn.import_DAG` is derived from a *bif* file. The *bif* file is a common format for Bayesian networks that can be used for the exchange of knowledge and experimental results in the community. More information can be found (here)[http://www.cs.washington.edu/dm/vfml/appendixes/bif.htm]. .. code-block:: python import bnlearn as bn bif_file= 'sprinkler' bif_file= 'alarm' bif_file= 'andes' bif_file= 'asia' bif_file= 'pathfinder' bif_file= 'sachs' bif_file= 'miserables' bif_file= 'filepath/to/model.bif' # Loading DAG with model parameters from bif file. model = bn.import_DAG(bif_file) With the :func:`bnlearn.bnlearn.sampling` function a ``DataFrame`` can be created for *n* samples. Export DAG/BIF ^^^^^^^^^^^^^^^ The learned bayesian network can be exported in one of common bayes network formats, like BIF, hugin or XMLBIF by using the BIFwriter from pgmpy. .. code-block:: python # Import packages import pandas as pd from pgmpy.readwrite import BIFWriter import bnlearn as bn # Import dataset df = bn.import_example('sprinkler') # build model model = bn.structure_learning.fit(df) model = bn.parameter_learning.fit(model, df) # Write to BIF writer = BIFWriter(model['model']) writer.write_bif(filename='model.bif') .. include:: add_bottom.add